#pragma once

#include "Expression.h"

MAKE_PTR(CExpression_Nagetive);

class CExpression_Nagetive : public CExpression
{
public:
	static CExpression_NagetivePtr create(CExpressionPtr op)
	{
		return CExpression_NagetivePtr(new CExpression_Nagetive(op));
	}

public:
	CExpression_Nagetive(CExpressionPtr op)
		:m_pOp(op)
	{

	}

protected:
	CExpressionPtr m_pOp;

protected:
	EvalType doEval(){return -m_pOp->eval();};
};